<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    f = function() {return true;};
    g = function() {return false;};
    (function() {
        console.log(g)
        if (g() && [] == ![]) {
            f = function f() {
                return false;
            };
            //? 如果在这里写函数 则存在问题 上面拿到的g是undefined 说明其实在这个函数作用域中g是存在的 为什么？
            function g() {
                return true;
            }
        }
        //? 而如果在这里写函数 则立即执行函数顶部能够直接使用此函数
        // function g() {
        //     return true;
        // }
    })();
    console.log(f()); // false
</script>
</body>
</html>
